<!DOCTYPE html><html><head><meta charset="utf-8"><style>body {
  width: 45em;
  border: 1px solid #ddd;
  outline: 1300px solid #fff;
  margin: 16px auto;
}

body .markdown-body
{
  padding: 30px;
}

@font-face {
  font-family: fontawesome-mini;
  src: url(data:font/woff;charset=utf-8;base64,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) format('woff');
}

@font-face {
  font-family: octicons-anchor;
  src: url(data:font/woff;charset=utf-8;base64,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) format('woff');
}

.markdown-body {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  color: #333333;
  overflow: hidden;
  font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  word-wrap: break-word;
}

.markdown-body a {
  background: transparent;
}

.markdown-body a:active,
.markdown-body a:hover {
  outline: 0;
}

.markdown-body b,
.markdown-body strong {
  font-weight: bold;
}

.markdown-body mark {
  background: #ff0;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

.markdown-body sub,
.markdown-body sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.markdown-body sup {
  top: -0.5em;
}
.markdown-body sub {
  bottom: -0.25em;
}

.markdown-body h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

.markdown-body img {
  border: 0;
}

.markdown-body hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

.markdown-body pre {
  overflow: auto;
}

.markdown-body code,
.markdown-body kbd,
.markdown-body pre,
.markdown-body samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

.markdown-body input {
  color: inherit;
  font: inherit;
  margin: 0;
}

.markdown-body html input[disabled] {
  cursor: default;
}

.markdown-body input {
  line-height: normal;
}

.markdown-body input[type="checkbox"] {
  box-sizing: border-box;
  padding: 0;
}

.markdown-body table {
  border-collapse: collapse;
  border-spacing: 0;
}

.markdown-body td,
.markdown-body th {
  padding: 0;
}

.markdown-body .codehilitetable {
  border: 0;
  border-spacing: 0;
}

.markdown-body .codehilitetable tr {
  border: 0;
}

.markdown-body .codehilitetable pre,
.markdown-body .codehilitetable div.codehilite {
  margin: 0;
}

.markdown-body .linenos,
.markdown-body .code,
.markdown-body .codehilitetable td {
  border: 0;
  padding: 0;
}

.markdown-body td:not(.linenos) .linenodiv {
  padding: 0 !important;
}

.markdown-body .code {
  width: 100%;
}

.markdown-body .linenos div pre,
.markdown-body .linenodiv pre,
.markdown-body .linenodiv {
  border: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-border-top-left-radius: 3px;
  -webkit-border-bottom-left-radius: 3px;
  -moz-border-radius-topleft: 3px;
  -moz-border-radius-bottomleft: 3px;
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}

.markdown-body .code div pre,
.markdown-body .code div {
  border: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-border-top-right-radius: 3px;
  -webkit-border-bottom-right-radius: 3px;
  -moz-border-radius-topright: 3px;
  -moz-border-radius-bottomright: 3px;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}

.markdown-body * {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.markdown-body input {
  font: 13px Helvetica, arial, freesans, clean, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1.4;
}

.markdown-body a {
  color: #4183c4;
  text-decoration: none;
}

.markdown-body a:hover,
.markdown-body a:focus,
.markdown-body a:active {
  text-decoration: underline;
}

.markdown-body hr {
  height: 0;
  margin: 15px 0;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #ddd;
}

.markdown-body hr:before,
.markdown-body hr:after {
  display: table;
  content: " ";
}

.markdown-body hr:after {
  clear: both;
}

.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
  margin-top: 15px;
  margin-bottom: 15px;
  line-height: 1.1;
}

.markdown-body h1 {
  font-size: 30px;
}

.markdown-body h2 {
  font-size: 21px;
}

.markdown-body h3 {
  font-size: 16px;
}

.markdown-body h4 {
  font-size: 14px;
}

.markdown-body h5 {
  font-size: 12px;
}

.markdown-body h6 {
  font-size: 11px;
}

.markdown-body blockquote {
  margin: 0;
}

.markdown-body ul,
.markdown-body ol {
  padding: 0;
  margin-top: 0;
  margin-bottom: 0;
}

.markdown-body ol ol,
.markdown-body ul ol {
  list-style-type: lower-roman;
}

.markdown-body ul ul ol,
.markdown-body ul ol ol,
.markdown-body ol ul ol,
.markdown-body ol ol ol {
  list-style-type: lower-alpha;
}

.markdown-body dd {
  margin-left: 0;
}

.markdown-body code,
.markdown-body pre,
.markdown-body samp {
  font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
  font-size: 12px;
}

.markdown-body pre {
  margin-top: 0;
  margin-bottom: 0;
}

.markdown-body kbd {
  background-color: #e7e7e7;
  background-image: -moz-linear-gradient(#fefefe, #e7e7e7);
  background-image: -webkit-linear-gradient(#fefefe, #e7e7e7);
  background-image: linear-gradient(#fefefe, #e7e7e7);
  background-repeat: repeat-x;
  border-radius: 2px;
  border: 1px solid #cfcfcf;
  color: #000;
  padding: 3px 5px;
  line-height: 10px;
  font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace;
  display: inline-block;
}

.markdown-body>*:first-child {
  margin-top: 0 !important;
}

.markdown-body>*:last-child {
  margin-bottom: 0 !important;
}

.markdown-body .headeranchor-link {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  padding-right: 6px;
  padding-left: 30px;
  margin-left: -30px;
}

.markdown-body .headeranchor-link:focus {
  outline: none;
}

.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
  position: relative;
  margin-top: 1em;
  margin-bottom: 16px;
  font-weight: bold;
  line-height: 1.4;
}

.markdown-body h1 .headeranchor,
.markdown-body h2 .headeranchor,
.markdown-body h3 .headeranchor,
.markdown-body h4 .headeranchor,
.markdown-body h5 .headeranchor,
.markdown-body h6 .headeranchor {
  display: none;
  color: #000;
  vertical-align: middle;
}

.markdown-body h1:hover .headeranchor-link,
.markdown-body h2:hover .headeranchor-link,
.markdown-body h3:hover .headeranchor-link,
.markdown-body h4:hover .headeranchor-link,
.markdown-body h5:hover .headeranchor-link,
.markdown-body h6:hover .headeranchor-link {
  height: 1em;
  padding-left: 8px;
  margin-left: -30px;
  line-height: 1;
  text-decoration: none;
}

.markdown-body h1:hover .headeranchor-link .headeranchor,
.markdown-body h2:hover .headeranchor-link .headeranchor,
.markdown-body h3:hover .headeranchor-link .headeranchor,
.markdown-body h4:hover .headeranchor-link .headeranchor,
.markdown-body h5:hover .headeranchor-link .headeranchor,
.markdown-body h6:hover .headeranchor-link .headeranchor {
  display: inline-block;
}

.markdown-body h1 {
  padding-bottom: 0.3em;
  font-size: 2.25em;
  line-height: 1.2;
  border-bottom: 1px solid #eee;
}

.markdown-body h2 {
  padding-bottom: 0.3em;
  font-size: 1.75em;
  line-height: 1.225;
  border-bottom: 1px solid #eee;
}

.markdown-body h3 {
  font-size: 1.5em;
  line-height: 1.43;
}

.markdown-body h4 {
  font-size: 1.25em;
}

.markdown-body h5 {
  font-size: 1em;
}

.markdown-body h6 {
  font-size: 1em;
  color: #777;
}

.markdown-body p,
.markdown-body blockquote,
.markdown-body ul,
.markdown-body ol,
.markdown-body dl,
.markdown-body table,
.markdown-body pre,
.markdown-body .admonition {
  margin-top: 0;
  margin-bottom: 16px;
}

.markdown-body hr {
  height: 4px;
  padding: 0;
  margin: 16px 0;
  background-color: #e7e7e7;
  border: 0 none;
}

.markdown-body ul,
.markdown-body ol {
  padding-left: 2em;
}

.markdown-body ul ul,
.markdown-body ul ol,
.markdown-body ol ol,
.markdown-body ol ul {
  margin-top: 0;
  margin-bottom: 0;
}

.markdown-body li>p {
  margin-top: 16px;
}

.markdown-body dl {
  padding: 0;
}

.markdown-body dl dt {
  padding: 0;
  margin-top: 16px;
  font-size: 1em;
  font-style: italic;
  font-weight: bold;
}

.markdown-body dl dd {
  padding: 0 16px;
  margin-bottom: 16px;
}

.markdown-body blockquote {
  padding: 0 15px;
  color: #777;
  border-left: 4px solid #ddd;
}

.markdown-body blockquote>:first-child {
  margin-top: 0;
}

.markdown-body blockquote>:last-child {
  margin-bottom: 0;
}

.markdown-body table {
  display: block;
  width: 100%;
  overflow: auto;
  word-break: normal;
  word-break: keep-all;
}

.markdown-body table th {
  font-weight: bold;
}

.markdown-body table th,
.markdown-body table td {
  padding: 6px 13px;
  border: 1px solid #ddd;
}

.markdown-body table tr {
  background-color: #fff;
  border-top: 1px solid #ccc;
}

.markdown-body table tr:nth-child(2n) {
  background-color: #f8f8f8;
}

.markdown-body img {
  max-width: 100%;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.markdown-body code,
.markdown-body samp {
  padding: 0;
  padding-top: 0.2em;
  padding-bottom: 0.2em;
  margin: 0;
  font-size: 85%;
  background-color: rgba(0,0,0,0.04);
  border-radius: 3px;
}

.markdown-body code:before,
.markdown-body code:after {
  letter-spacing: -0.2em;
  content: "\00a0";
}

.markdown-body pre>code {
  padding: 0;
  margin: 0;
  font-size: 100%;
  word-break: normal;
  white-space: pre;
  background: transparent;
  border: 0;
}

.markdown-body .codehilite {
  margin-bottom: 16px;
}

.markdown-body .codehilite pre,
.markdown-body pre {
  padding: 16px;
  overflow: auto;
  font-size: 85%;
  line-height: 1.45;
  background-color: #f7f7f7;
  border-radius: 3px;
}

.markdown-body .codehilite pre {
  margin-bottom: 0;
  word-break: normal;
}

.markdown-body pre {
  word-wrap: normal;
}

.markdown-body pre code {
  display: inline;
  max-width: initial;
  padding: 0;
  margin: 0;
  overflow: initial;
  line-height: inherit;
  word-wrap: normal;
  background-color: transparent;
  border: 0;
}

.markdown-body pre code:before,
.markdown-body pre code:after {
  content: normal;
}

/* Admonition */
.markdown-body .admonition {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  position: relative;
  border-radius: 3px;
  border: 1px solid #e0e0e0;
  border-left: 6px solid #333;
  padding: 10px 10px 10px 30px;
}

.markdown-body .admonition table {
  color: #333;
}

.markdown-body .admonition p {
  padding: 0;
}

.markdown-body .admonition-title {
  font-weight: bold;
  margin: 0;
}

.markdown-body .admonition>.admonition-title {
  color: #333;
}

.markdown-body .attention>.admonition-title {
  color: #a6d796;
}

.markdown-body .caution>.admonition-title {
  color: #d7a796;
}

.markdown-body .hint>.admonition-title {
  color: #96c6d7;
}

.markdown-body .danger>.admonition-title {
  color: #c25f77;
}

.markdown-body .question>.admonition-title {
  color: #96a6d7;
}

.markdown-body .note>.admonition-title {
  color: #d7c896;
}

.markdown-body .admonition:before,
.markdown-body .attention:before,
.markdown-body .caution:before,
.markdown-body .hint:before,
.markdown-body .danger:before,
.markdown-body .question:before,
.markdown-body .note:before {
  font: normal normal 16px fontawesome-mini;
  -moz-osx-font-smoothing: grayscale;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  line-height: 1.5;
  color: #333;
  position: absolute;
  left: 0;
  top: 0;
  padding-top: 10px;
  padding-left: 10px;
}

.markdown-body .admonition:before {
  content: "\f056\00a0";
  color: 333;
}

.markdown-body .attention:before {
  content: "\f058\00a0";
  color: #a6d796;
}

.markdown-body .caution:before {
  content: "\f06a\00a0";
  color: #d7a796;
}

.markdown-body .hint:before {
  content: "\f05a\00a0";
  color: #96c6d7;
}

.markdown-body .danger:before {
  content: "\f057\00a0";
  color: #c25f77;
}

.markdown-body .question:before {
  content: "\f059\00a0";
  color: #96a6d7;
}

.markdown-body .note:before {
  content: "\f040\00a0";
  color: #d7c896;
}

.markdown-body .admonition::after {
  content: normal;
}

.markdown-body .attention {
  border-left: 6px solid #a6d796;
}

.markdown-body .caution {
  border-left: 6px solid #d7a796;
}

.markdown-body .hint {
  border-left: 6px solid #96c6d7;
}

.markdown-body .danger {
  border-left: 6px solid #c25f77;
}

.markdown-body .question {
  border-left: 6px solid #96a6d7;
}

.markdown-body .note {
  border-left: 6px solid #d7c896;
}

.markdown-body .admonition>*:first-child {
  margin-top: 0 !important;
}

.markdown-body .admonition>*:last-child {
  margin-bottom: 0 !important;
}

/* progress bar*/
.markdown-body .progress {
  display: block;
  width: 300px;
  margin: 10px 0;
  height: 24px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  background-color: #ededed;
  position: relative;
  box-shadow: inset -1px 1px 3px rgba(0, 0, 0, .1);
}

.markdown-body .progress-label {
  position: absolute;
  text-align: center;
  font-weight: bold;
  width: 100%; margin: 0;
  line-height: 24px;
  color: #333;
  text-shadow: 1px 1px 0 #fefefe, -1px -1px 0 #fefefe, -1px 1px 0 #fefefe, 1px -1px 0 #fefefe, 0 1px 0 #fefefe, 0 -1px 0 #fefefe, 1px 0 0 #fefefe, -1px 0 0 #fefefe, 1px 1px 2px #000;
  -webkit-font-smoothing: antialiased !important;
  white-space: nowrap;
  overflow: hidden;
}

.markdown-body .progress-bar {
  height: 24px;
  float: left;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  background-color: #96c6d7;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 -1px 0 rgba(0, 0, 0, .1);
  background-size: 30px 30px;
  background-image: -webkit-linear-gradient(
    135deg, rgba(255, 255, 255, .4) 27%,
    transparent 27%,
    transparent 52%, rgba(255, 255, 255, .4) 52%,
    rgba(255, 255, 255, .4) 77%,
    transparent 77%, transparent
  );
  background-image: -moz-linear-gradient(
    135deg,
    rgba(255, 255, 255, .4) 27%, transparent 27%,
    transparent 52%, rgba(255, 255, 255, .4) 52%,
    rgba(255, 255, 255, .4) 77%, transparent 77%,
    transparent
  );
  background-image: -ms-linear-gradient(
    135deg,
    rgba(255, 255, 255, .4) 27%, transparent 27%,
    transparent 52%, rgba(255, 255, 255, .4) 52%,
    rgba(255, 255, 255, .4) 77%, transparent 77%,
    transparent
  );
  background-image: -o-linear-gradient(
    135deg,
    rgba(255, 255, 255, .4) 27%, transparent 27%,
    transparent 52%, rgba(255, 255, 255, .4) 52%,
    rgba(255, 255, 255, .4) 77%, transparent 77%,
    transparent
  );
  background-image: linear-gradient(
    135deg,
    rgba(255, 255, 255, .4) 27%, transparent 27%,
    transparent 52%, rgba(255, 255, 255, .4) 52%,
    rgba(255, 255, 255, .4) 77%, transparent 77%,
    transparent
  );
}

.markdown-body .progress-100plus .progress-bar {
  background-color: #a6d796;
}

.markdown-body .progress-80plus .progress-bar {
  background-color: #c6d796;
}

.markdown-body .progress-60plus .progress-bar {
  background-color: #d7c896;
}

.markdown-body .progress-40plus .progress-bar {
  background-color: #d7a796;
}

.markdown-body .progress-20plus .progress-bar {
  background-color: #d796a6;
}

.markdown-body .progress-0plus .progress-bar {
  background-color: #c25f77;
}

.markdown-body .candystripe-animate .progress-bar{
  -webkit-animation: animate-stripes 3s linear infinite;
  -moz-animation: animate-stripes 3s linear infinite;
  animation: animate-stripes 3s linear infinite;
}

@-webkit-keyframes animate-stripes {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 60px 0;
  }
}

@-moz-keyframes animate-stripes {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 60px 0;
  }
}

@keyframes animate-stripes {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 60px 0;
  }
}

.markdown-body .gloss .progress-bar {
  box-shadow:
    inset 0 4px 12px rgba(255, 255, 255, .7),
    inset 0 -12px 0 rgba(0, 0, 0, .05);
}

/* Multimarkdown Critic Blocks */
.markdown-body .critic_mark {
  background: #ff0;
}

.markdown-body .critic_delete {
  color: #c82829;
  text-decoration: line-through;
}

.markdown-body .critic_insert {
  color: #718c00 ;
  text-decoration: underline;
}

.markdown-body .critic_comment {
  color: #8e908c;
  font-style: italic;
}

.markdown-body .headeranchor {
  font: normal normal 16px octicons-anchor;
  line-height: 1;
  display: inline-block;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.headeranchor:before {
  content: '\f05c';
}

.markdown-body .task-list-item {
  list-style-type: none;
}

.markdown-body .task-list-item+.task-list-item {
  margin-top: 3px;
}

.markdown-body .task-list-item input {
  margin: 0 4px 0.25em -20px;
  vertical-align: middle;
}

/* Media */
@media only screen and (min-width: 480px) {
  .markdown-body {
    font-size:14px;
  }
}

@media only screen and (min-width: 768px) {
  .markdown-body {
    font-size:16px;
  }
}

@media print {
  .markdown-body * {
    background: transparent !important;
    color: black !important;
    filter:none !important;
    -ms-filter: none !important;
  }

  .markdown-body {
    font-size:12pt;
    max-width:100%;
    outline:none;
    border: 0;
  }

  .markdown-body a,
  .markdown-body a:visited {
    text-decoration: underline;
  }

  .markdown-body .headeranchor-link {
    display: none;
  }

  .markdown-body a[href]:after {
    content: " (" attr(href) ")";
  }

  .markdown-body abbr[title]:after {
    content: " (" attr(title) ")";
  }

  .markdown-body .ir a:after,
  .markdown-body a[href^="javascript:"]:after,
  .markdown-body a[href^="#"]:after {
    content: "";
  }

  .markdown-body pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
  }

  .markdown-body pre,
  .markdown-body blockquote {
    border: 1px solid #999;
    padding-right: 1em;
    page-break-inside: avoid;
  }

  .markdown-body .progress,
  .markdown-body .progress-bar {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  .markdown-body .progress {
    border: 1px solid #ddd;
  }

  .markdown-body .progress-bar {
    height: 22px;
    border-right: 1px solid #ddd;
  }

  .markdown-body tr,
  .markdown-body img {
    page-break-inside: avoid;
  }

  .markdown-body img {
    max-width: 100% !important;
  }

  .markdown-body p,
  .markdown-body h2,
  .markdown-body h3 {
    orphans: 3;
    widows: 3;
  }

  .markdown-body h2,
  .markdown-body h3 {
    page-break-after: avoid;
  }
}
</style><title>sublime-text-usage</title></head><body><article class="markdown-body"><h1 id="sublime-text"><a name="user-content-sublime-text" href="#sublime-text" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>Sublime Text 使用小记</h1>
<div class="toc">
<ul>
<li><a href="#sublime-text">Sublime Text 使用小记</a><ul>
<li><a href="#c">C语言</a></li>
<li><a href="#_1">增强</a></li>
<li><a href="#_2">主题</a></li>
<li><a href="#markdown">Markdown</a></li>
<li><a href="#git">Git</a></li>
<li><a href="#_3">技巧</a></li>
<li><a href="#_4">学习资源</a><ul>
<li><a href="#_5">教程</a></li>
<li><a href="#_6">视屏</a></li>
<li><a href="#_7">书籍</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<p><img alt="Sublime Text" src="http://mint-blog.qiniudn.com/sublime-text-1.png" /></p>
<p>如何安装插件详见：<a href="https://packagecontrol.io/installation">https://packagecontrol.io/installation</a></p>
<h2 id="c"><a name="user-content-c" href="#c" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>C语言</h2>
<ol>
<li><a href="http://wbond.net/sublime_packages/alignment">Alignment</a>：选中并按<code>ctrl+alt+a</code>就可以使其按照等号对其。<br />
<img alt="按等号对其，强迫症患者必备" src="http://mint-blog.qiniudn.com/sublime-text-2.gif" /></li>
<li><a href="https://github.com/abusalimov/SublimeCImproved">C Improved</a>：更加人性化的C语言着色方案。<br />
<img alt="着色对比，还不错" src="http://mint-blog.qiniudn.com/sublime-text-3.png" /><br />
<img alt="最好设置为默认用C Improved打开C文件" src="http://mint-blog.qiniudn.com/sublime-text-4.png" /></li>
<li><a href="http://akof1314.github.io/CoolFormat/">CoolFormat</a>：简单好用的代码格式化工具，相当于简化版的Astyle，默认<code>ctrl+alt+shift+q</code>格式化当前文件，<code>ctrl+alt+shift+s</code>格式化当前选中。<br />
<img alt="默认选中按ctrl+alt+shift+s格式化当前" src="http://mint-blog.qiniudn.com/sublime-text-5.gif" /><br />
<strong>注</strong>：格式的设置可以打开控制面板，输入CoolFormat : Formatter Setting，C/C++文档参考<a href="http://akof1314.github.io/CoolFormat/doc/Cpp.html">此处</a><br />
<img alt="控制面板相关命令" src="http://mint-blog.qiniudn.com/sublime-text-6.png" /></li>
<li><a href="https://github.com/spadgos/sublime-jsdocs">DocBlockr</a>：自动生成大块的注释，并且可以用<code>tab</code>在不同内容之间切换，很爽的<br />
<img alt="用tab在参数之间平滑切换" src="http://mint-blog.qiniudn.com/sublime-text-7.gif" /><br />
<img alt="当然，不在函数上面也可以比较方便的生成注释块" src="http://mint-blog.qiniudn.com/sublime-text-8.gif" /><br />
<strong>注</strong>：安装完重启一下，否则可能效果不理想，比如<code>tab</code>跳到别的地方去了</li>
<li><a href="https://github.com/alienhard/SublimeAllAutocomplete"> AllAutocomplete</a>：Sublime自带的可以对当前文件中的变量和函数名进行自动提示，但是AllAutocomplete可以对打开的所有文件的变量名进行提示，增强版的代码自动提示符。<blockquote>
<p>Extend Sublime autocompletion to find matches in all open files of the current window</p>
</blockquote>
</li>
<li><a href="https://github.com/SublimeText/CTags">CTags</a>：可以在函数的声明和定义自检来回跳转了，首先需要<a href="http://ctags.sourceforge.net/">下载Ctags</a>，比如我存在D盘的根目录下，之后需要在Sublime中配置路径。<br />
<img alt="Ctags路径设置" src="http://mint-blog.qiniudn.com/sublime-text-9.png" /><br />
然后在工程文件夹的右键生成索引文件，<br />
<img alt="为工程文件夹内的文件生成索引" src="http://mint-blog.qiniudn.com/sublime-text-10.png" /><br />
然后就可以用<code>ctrl+shift+左键</code>跳转到定义处了，<code>ctrl+shift+右键</code>回来了（不过，还是没有Source Insight方便，可以实时小窗口预览）<br />
<img alt="跳过来跳过去" src="http://mint-blog.qiniudn.com/sublime-text-11.gif" /></li>
<li><a href="http://theo.im/SublimeAStyleFormatter/">SublimeAStyleFormatter</a>：国人做的Astyle Sublime版，蛮不错的。<br />
安装完成之后，下面这个配置一定要打开，即保存自动格式化，这个相比于CoolFormat要简单很多。<br />
<img alt="保存自动格式化配置" src="http://mint-blog.qiniudn.com/sublime-text-12.png" /><br />
<img alt="按ctrl+s保存的同时自动格式化当前文件" src="http://mint-blog.qiniudn.com/sublime-text-12.gif" /></li>
</ol>
<h2 id="_1"><a name="user-content-_1" href="#_1" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>增强</h2>
<ol>
<li><a href="https://github.com/titoBouzout/WordCount">WordCount</a>：可以实时显示当前文件的字数。<br />
<img alt="安装后，后下角多出字数" src="http://mint-blog.qiniudn.com/sublime-text-13.png" /></li>
<li><a href="https://github.com/titoBouzout/EncodingHelper">EncodingHelper</a>：编码众多，比较丰富<br />
<img alt="安装后，在右下角的UTT-8右键可以将其他编码转换成UTF-8" src="http://mint-blog.qiniudn.com/sublime-text-14.png" /></li>
<li><a href="https://github.com/seanliang/ConvertToUTF8">ConvertToUTF8</a>：比上面的那个要方便，直接在菜单栏中可以转了，专为中文设计，妈妈再也不通担心中文乱码问题了<br />
<img alt="安装后，将可以将常用中文编码转换成UTF-8" src="http://mint-blog.qiniudn.com/sublime-text-15.png" /></li>
<li><a href="http://wbond.net/sublime_packages/terminal"> Terminal</a>：Sublime版的<code>在当前文件夹内打开</code><br />
<img alt="增加Open Terminal Here，快捷键为Ctrl+Shift+T" src="http://mint-blog.qiniudn.com/sublime-text-16.png" /></li>
<li><a href="https://github.com/titoBouzout/SideBarEnhancements">Side​Bar​Enhancements</a>：右键一下子多处那么多选择，：D<br />
<img alt="会在FOLDERS右键菜单上多出很多选项" src="http://mint-blog.qiniudn.com/sublime-text-17.png" /></li>
<li><a href="https://github.com/titoBouzout/SideBarFolders">SideBarFolders</a>：打开的文件夹都太多了，再用这个来管理文件夹<br />
<img alt="安装后会在菜单栏多出Folders来管理文件夹" src="http://mint-blog.qiniudn.com/sublime-text-18.png" /></li>
<li><a href="https://bitbucket.org/dougty/sublime-compare-side-by-side">Compare Side-By-Side</a>：Sublime版本的BeyongCompare，虽然没那么强大，但是也非常够用了，真是一个插件就是一个软件<br />
<img alt="在待比较的Tab上右键选择Compare with...，然后选择另一个打开的比较对象即可，Sublime会自动弹出新的窗口显示两个文件" src="http://mint-blog.qiniudn.com/sublime-text-19.png" /></li>
<li><a href="https://github.com/facelessuser/BracketHighlighter">BracketHighlighter</a>：显示我在哪个括号内，前端和Lisp的福音啊<br />
<img alt="会在行号的左侧显示当前所在的括号类型" src="http://mint-blog.qiniudn.com/sublime-text-20.png" /><br />
<img alt="或者前端使用时更有用点" src="http://mint-blog.qiniudn.com/sublime-text-21.png" /></li>
<li><a href="https://github.com/aziz/PlainTasks">PlainTasks</a>：又是一个插件顶一个软件的东东<br />
<img alt="带上TODO的本文会被PlainTasks识别" src="http://mint-blog.qiniudn.com/sublime-text-22.png" /></li>
<li><a href="https://github.com/SublimeText/TrailingSpaces">TrailingSpaces</a>：强迫症患者必备<br />
<img alt="高亮显示尾部多余的空格，强迫症患者专用" src="http://mint-blog.qiniudn.com/sublime-text-23.png" /></li>
<li><a href="https://github.com/skuroda/Sublime-AdvancedNewFile">AdvancedNewFile</a>：看名字就知道来，可以配置新建文件的附属文件，直接生成一个工程都可以<br />
<img alt="ctrl+alt+shfit+n可以设定额外生成的文件" src="http://mint-blog.qiniudn.com/sublime-text-24.png" /></li>
<li><a href="https://github.com/facelessuser/HexViewer">HexViewer</a>：玩单片机的玩家都懂这个是很重要的<br />
<img alt="用ctrl+alt+p打开hex命令，分析hex文件利器" src="http://mint-blog.qiniudn.com/sublime-text-25.png" /></li>
<li><a href="https://github.com/ericmartel/Sublime-Text-2-Stackoverflow-Plugin">Search Stack Overflow</a>：就是不想动鼠标，直接在Sublime中打开浏览器搜索Stackoverflow<br />
<img alt="ctrl+shift+p打开stackoverflow，输入问题，自动打开浏览器" src="http://mint-blog.qiniudn.com/sublime-text-26.png" /></li>
</ol>
<h2 id="_2"><a name="user-content-_2" href="#_2" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>主题</h2>
<ol>
<li>软件自带：在<code>Preferences-&gt;Color Theme</code>中可以任意选择，选择完即可查看主题风格，不用重启。并且会在<code>Preferebces.sublime-seetings</code>中自动保存设定。<br />
<img alt="Color Theme" src="http://mint-blog.qiniudn.com/sublime-text-27.png" /></li>
<li><a href="https://packagecontrol.io/browse/labels/theme">官方插件</a>搜索安装，不过基本上都被下面那个网站收纳了，并做了一个管理主题的插件，方便预览和安装。在设置一个新的主题时，需要设置<code>theme</code>和<code>color_scheme</code>两个方面，前者决定了打开不同类型文件的配色，后者决定了Tab栏，SideBar大小和图标，以及相应字体的大小设置。</li>
<li><a href="http://colorsublime.com/">ColorSublime</a>：一个Sublime主题配色的网站，推荐使用<code>Package Control</code>的方式来<a href="http://colorsublime.com/how-to-install-a-theme">安装</a><a href="https://github.com/Colorsublime/Colorsublime-Plugin">ColorSublime插件</a>，安装完可以使用在控制面板中移动上下箭头就可以预览，回车即可安装。<br />
<img alt="预览主题" src="http://mint-blog.qiniudn.com/sublime-text-28.gif" /></li>
<li><a href="https://github.com/benweier/Themr">Themr</a>：管理安装过的主题样式的工具<blockquote>
<p>Themr allows you to quickly change your UI theme using the command palette or keyboard shortcuts. With Themr, you get commands to easily cycle forward, backward and randomly through your available themes.</p>
</blockquote>
</li>
<li><a href="http://buymeasoda.github.io/soda-theme/">Soda</a>：很有质感的一套主题样式<br />
<img alt="" src="http://buymeasoda.github.com/soda-theme/images/features/multiple-tab-styles.png" /></li>
<li><a href="https://github.com/jamiewilson/predawn">Predawn</a>：一款为Sublime和Atom打造的暗色主题，可以定义Tab的大小，SideBar大小，Find栏大小，为Markdown高亮着色，并提供主题同款的ICON。<br />
<img alt="predawn" src="http://mint-blog.qiniudn.com/sublime-text-29.png" /></li>
<li><a href="https://github.com/kkga/spacegray">Spacegray</a>：3种不同深度的颜色，可以定义Tab的大小，SideBar字体大小，文件之间的间隔大小。<br />
<img alt="Spacegray" src="http://mint-blog.qiniudn.com/sublime-text-30.png" /><br />
<img alt="Spacegray Light" src="http://mint-blog.qiniudn.com/sublime-text-31.png" /><br />
<img alt="Spacegray Eighties" src="http://mint-blog.qiniudn.com/sublime-text-32.png" /></li>
<li><a href="http://equinusocio.github.io/material-theme/">Material Theme</a> : The most epic theme for Sublime Text 3<br />
<pre><code>&quot;theme&quot;: &quot;Material-Theme.sublime-theme&quot;,&quot;color_scheme&quot;: 
&quot;Packages/Material Theme/schemes/Material-Theme.tmTheme&quot;,
</code></pre><br />
<img alt="Default" src="http://mint-blog.qiniudn.com/sublime-text-33.png" /><br />
<pre><code>&quot;theme&quot;: &quot;Material-Theme-Darker.sublime-theme&quot;,&quot;color_scheme&quot;: 
&quot;Packages/Material Theme/schemes/Material-Theme-Darker.tmTheme&quot;,
</code></pre><br />
<img alt="Darker" src="http://mint-blog.qiniudn.com/sublime-text-34.png" /><br />
<pre><code>&quot;theme&quot;: &quot;Material-Theme-Lighter.sublime-theme&quot;,&quot;color_scheme&quot;: 
&quot;Packages/Material Theme/schemes/Material-Theme-Lighter.tmTheme&quot;,
</code></pre><br />
<img alt="Ligher" src="http://mint-blog.qiniudn.com/sublime-text-35.png" /></li>
</ol>
<h2 id="markdown"><a name="user-content-markdown" href="#markdown" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>Markdown</h2>
<ol>
<li><a href="https://github.com/SublimeText-Markdown/MarkdownEditing">MarkDown Editing</a>：支持Markdown语法高亮；支持Github Favored Markdown语法；自带3个主题。<br />
<img alt="MarkDown Editing 界面" src="http://mint-blog.qiniudn.com/sublime-text-36.png" /><br />
<img alt="主题选择" src="http://mint-blog.qiniudn.com/sublime-text-37.png" /><br />
<strong>注：</strong>如果你安装完之后，遇到了如下的<a href="https://github.com/SublimeText-Markdown/MarkdownEditing/issues/115">错误</a>，那么你安装的时候可能开着一个Markdown文件，所以卸载完之后在不打开Markdown的情况下再次安装就可以解决了。<br />
<img alt="Markdown.tmLanguage错误" src="http://mint-blog.qiniudn.com/sublime-text-38.png" /></li>
<li><a href="https://github.com/revolunet/sublimetext-markdown-preview">MarkdownPreview</a>：按<code>CTRL + B</code>生成网页HTML；在最前面添加<code>[TOC]</code>自动生成目录；<br />
<img alt="Markdown 生成HTML预览" src="http://mint-blog.qiniudn.com/sublime-text-39.png" /></li>
<li><a href="https://github.com/jonschlinkert/sublime-markdown-extended">Markdown Extended</a> + <a href="https://github.com/jonschlinkert/sublime-monokai-extended">Extends Monokai</a>：不错的Markdown主题，支持对多种语言的高亮<br />
<img alt="C语言语法高亮" src="http://mint-blog.qiniudn.com/sublime-text-40.png" /></li>
<li><a href="http://theo.im/OmniMarkupPreviewer/">OmniMarkupPreviwer</a>：<strong>实时</strong>在浏览器中预，而<code>MarkdownPreview</code>是需要手动生成的和F5的。览如果双屏的话，应该具有不错的体验。快捷键如下：<ul>
<li><code>Ctrl+Alt+O</code>: Preview Markup in Browser.</li>
<li><code>Ctrl+Alt+X</code>: Export Markup as HTML.</li>
<li><code>Ctrl+Alt+C</code>: Copy Markup as HTML.<br />
<img alt="实时在浏览器中显示编辑的文档" src="http://mint-blog.qiniudn.com/sublime-text-41.gif" /></li>
</ul>
</li>
<li><a href="https://github.com/vkocubinsky/SublimeTableEditor">TableEditor</a>：Markdown中的表格书写体验真心不咋样，所有有人为这个开发了一个插件，具有较好的自适应性，会自动对齐，强迫症患者喜欢。<br />
首先需要用<code>ctrl + shift + p</code>打开这个功能（Table Editor: Enable for current syntax or Table Editor: Enable for current view or &ldquo;Table Editor: Set table syntax &hellip; for current view&rdquo;），然后就可以狂用<code>tab</code>来自动完成了~~~<br />
<img alt="用tab来自动完成表格间的切换和下一行表格的生成" src="http://mint-blog.qiniudn.com/sublime-text-42.gif" /></li>
<li><a href="https://github.com/naokazuterada/MarkdownTOC">Markdown TOC</a>：编辑MD文件的时候可以查看自动生成，并且可以控制生产目录的层次，不过不会自动跳转。编辑的时候可以看看，如果需要生成的HTML具有超链接跳转的功能，还是用<strong>MarkdownPreview</strong>吧。<br />
<img alt="修改目录深度实时在MD文件中预览，不过这个用CTRL+R就可以产看，个人觉得不太实用" src="http://mint-blog.qiniudn.com/sublime-text-43.gif" /></li>
</ol>
<h2 id="git"><a name="user-content-git" href="#git" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>Git</h2>
<ol>
<li><a href="https://sublimegit.net/">SublimeGit</a>：Git党必备<br />
在安装后，如果在使用<code>ctrl+shift+p</code>输入一些个Git命令之后，弹出如下的错误提示，那么可能是因为Git可执行命令没有加入到环境变量中。<br />
<img alt="提示Git命令不在PATH中错误" src="http://mint-blog.qiniudn.com/sublime-text-44.png" /><br />
<strong>解决办法</strong>：将Git的bin文件夹目录添加到系统环境变量，然后重启Sublime即可，嗯，一定要重启Sublime才可以使用。<br />
此时，可以使用<code>git status</code>，<code>git log</code>等常用命令，但是一旦使用<code>git pull</code>来与远程服务器同步，此时就发现Sublime下面的状态栏就会一直来回摆动，无法与远程同步，原因为仅仅将Git命令加入Path是不够的，需要安装<a href="https://msysgit.github.io/">msysgit</a>时选择将其集成到Windows中，如下图所示：<br />
<img alt="将Git集成到Windows命令行选项中" src="http://mint-blog.qiniudn.com/sublime-text-45.png" /><br />
好吧，此时才将Git命令集成到Sublime中。输入<code>ctrl+shift+p</code>，输入<code>git</code>显示可以调用的相关命令如下图所示。<br />
<img alt="集成到Sublime中的Git命令" src="http://mint-blog.qiniudn.com/sublime-text-46.png" /></li>
<li><a href="https://github.com/divmain/GitSavvy">GitSavvy</a>：SublimeGit的同类竞品</li>
<li><a href="https://github.com/jisaacks/GitGutter">GitGutter-Edge</a>：实时显示当前工作区的文件与以下四种的区别<ul>
<li>Compare against HEAD(默认选项)</li>
<li>Compare against particular branch</li>
<li>Compare against particular tag</li>
<li>Compare against specific commit<br />
如果选择默认的第一个选项，就可以实时看到当前的工作区（workplace）相对于最近一次提交（HEAD）的修改。</li>
</ul>
</li>
<li><a href="https://github.com/kevinxucs/Sublime-Gitignore">Gitignore</a>：一键生成<a href="https://github.com/github/gitignore">the collection of gitignore boilerplates by Github</a>，多种文件类型任你选，以下用Gitignore新建C语言的忽略文件模板。<br />
<img alt="用Gitignore新建.gitignore模板文件" src="http://mint-blog.qiniudn.com/sublime-text-47.gif" /></li>
<li><a href="https://github.com/robballou/gitconfig-sublimetext">Git Config</a>：设置<code>.gitignore</code>和<code>.gitconfig</code>等文件语法高亮。<br />
<img alt="安装完后可设置为Git Ignore或者Git Config高亮显示" src="http://mint-blog.qiniudn.com/sublime-text-48.png" /></li>
<li><a href="https://github.com/titoBouzout/SideBarGit">SideBarGit</a>：在侧边栏的右键上增加Git常用操作，鼠标党喜欢的方式<br />
<img alt="左右资源栏出现Git一项可以调用常用Git命令" src="http://mint-blog.qiniudn.com/sublime-text-49.png" /></li>
<li><a href="https://github.com/temochka/sublime-text-2-github-tools">Github Tools</a> / <a href="https://github.com/bgreenlee/sublime-github">Sublime GitHub</a>：与GitHub网站紧密联系，可以直接在Sublime中打开与GitHub关联的网址<br />
<img alt="Sublime GitHub" src="http://mint-blog.qiniudn.com/sublime-text-50.png" /></li>
<li><a href="https://github.com/AlexanderEkdahl/github-sublime-theme">GitHub Sublime Theme</a>：一款GitHub主题，好像和Git没啥关系，乱入的</li>
<li><a href="https://github.com/Zeeker/sublime-GitConflictResolver">Git Conflict Resolver</a>：用以解决在Merge过程中产生的冲突用<br />
<img alt="Git Conflict Resolver命令" src="http://mint-blog.qiniudn.com/sublime-text-51.png" /></li>
<li><a href="http://www.sublimerge.com/">Sublime Merger</a>：各种比较，套用官方的话和图如下<blockquote>
<p>Sublimerge brings the missing side-by-side diff to Sublime Text and turns your favorite editor into the professional diff and merge tool with amazing features!<br />
<img alt="看上去很强大的样子" src="http://mint-blog.qiniudn.com/sublime-text-52.png" /><br />
<img alt="Sublime Merger命令" src="http://mint-blog.qiniudn.com/sublime-text-53.png" /></p>
</blockquote>
</li>
<li><a href="https://github.com/borysf/SublimeGerrit">Sublime Gerrit</a>：使用在Git之上搭建起来的Gerrit Code Review的命令与原生有点不同，因为Gerrit默认是推送到中间用于Review的缓冲区的，只有Reivew通过之后才会并入真正的代码版本库。其命令使用如下：<br />
<img alt="Sublime Gerrit命令" src="http://mint-blog.qiniudn.com/sublime-text-54.png" /></li>
</ol>
<h2 id="_3"><a name="user-content-_3" href="#_3" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>技巧</h2>
<ol>
<li>用<code>ctrl+b</code>调用Windows批处理<code>bat</code><br />
首先，<code>Tools</code>-&gt;<code>Build System</code>-&gt;&rsquo;New Build Sytem&hellip;&rsquo;<br />
<pre><code>{
    &quot;shell_cmd&quot;: &quot;make&quot;
}
</code></pre><br />
然后，修改并保存<br />
<pre><code>{
    &quot;cmd&quot;: &quot;.\\Build.bat&quot;
}
</code></pre></li>
</ol>
<h2 id="_4"><a name="user-content-_4" href="#_4" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>学习资源</h2>
<h3 id="_5"><a name="user-content-_5" href="#_5" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>教程</h3>
<ul>
<li><a href="http://zh.lucida.me/blog/sublime-text-complete-guide/">Sublime Text 全程指南</a></li>
<li><a href="http://lucifr.com/2011/08/31/sublime-text-2-tricks-and-tips/">Sublime Text 2 入门及技巧</a></li>
<li><a href="http://www.daqianduan.com/4820.html">Sublime Text 使用介绍、全套快捷键及插件推荐</a></li>
<li><a href="http://blog.csdn.net/idxuanjun/article/details/13292847">Sublime Text 3 学习及使用</a></li>
<li><a href="http://ce.sysu.edu.cn/hope/Item/106853.aspx">Sublime Text 3 使用心得</a></li>
<li><a href="http://blog.miniasp.com/post/2014/01/07/Useful-tool-Sublime-Text-3-Quick-Start.aspx">Sublime Text 3 新手上路：必要的安裝、設定與基本使用教學</a></li>
<li><a href="http://code.tutsplus.com/courses/perfect-workflow-in-sublime-text-2">Perfect Workflow in Sublime 2</a></li>
<li><a href="http://sublimetexttips.com/sublime-productivityuctivityroductivityuctivity">6 Ways to Turn Sublime Text Into the Perfect Blogging Tool</a></li>
<li>Scotch Series<ul>
<li><a href="http://scotch.io/bar-talk/best-of-sublime-text-3-features-plugins-and-settings">Best of Sublime Text 3: Features, Plugins, and Settings</a></li>
<li><a href="http://scotch.io/bar-talk/sublime-text-keyboard-shortcuts">Sublime Text Keyboard Shortcuts</a></li>
<li><a href="http://scotch.io/series/the-complete-visual-guide-to-sublime-text-3">THE COMPLETE VISUAL GUIDE TO SUBLIME TEXT 3</a></li>
<li><a href="http://scotch.io/bar-talk/the-complete-visual-guide-to-sublime-text-3-themes-color-schemes-and-cool-features">Themes, Color Schemes, and Cool Features</a></li>
<li><a href="http://scotch.io/bar-talk/the-complete-visual-guide-to-sublime-text-3-getting-started-and-keyboard-shortcuts">Getting Started and Keyboard Shortcuts</a></li>
<li><a href="http://scotch.io/bar-talk/the-complete-visual-guide-to-sublime-text-3-plugins-part-1">Plugins Part 1</a></li>
<li><a href="http://scotch.io/bar-talk/the-complete-visual-guide-to-sublime-text-3-plugins-part-2">Plugins Part 2</a></li>
</ul>
</li>
<li><a href="http://www.hongkiat.com/blog/sublime-code-snippets/">Working With Code Snippets In Sublime Text</a></li>
<li><a href="https://scotch.io/bar-talk/best-of-sublime-text-3-features-plugins-and-settings">The Best Plugins for Sublime Text</a></li>
</ul>
<h3 id="_6"><a name="user-content-_6" href="#_6" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>视屏</h3>
<ul>
<li><a href="http://www.imooc.com/learn/333">快乐的sublime编辑器</a></li>
<li><a href="http://www.imooc.com/learn/40">前端开发工具技巧介绍—Sublime篇</a></li>
<li><a href="http://code.tutsplus.com/courses/perfect-workflow-in-sublime-text-2">Perfect Workflow in Sublime Text 2</a></li>
</ul>
<h3 id="_7"><a name="user-content-_7" href="#_7" class="headeranchor-link" aria-hidden="true"><span class="headeranchor"></span></a>书籍</h3>
<ul>
<li><a href="http://docs.sublimetext.tw/">Sublime Text 手冊</a></li>
<li><a href="http://sublime-text-unofficial-documentation.readthedocs.org/en/latest/index.html">Sublime Text Unofficial Documentation</a></li>
<li><a href="http://ipestov.com/the-best-plugins-for-sublime-text/">Sublime Text Power User</a></li>
<li><a href="https://www.packtpub.com/hardware-and-creative/instant-sublime-text-starter-instant">Instant Sublime Text Starter</a></li>
<li>Mastering Sublime Text</li>
<li><a href="https://leanpub.com/sublime-productivity">Sublime Productivity</a> </li>
</ul>
<p>(⊙v⊙)嗯，如果将以上插件都装上，那么肯定已经很卡了，所以可以一般顺过遍，以后装个新的，想用啥就装上就好了。</p></article></body></html>